package com.yupi.yupicturebackend.service;

import com.yupi.yupicturebackend.model.entity.User;

/**
 * 用户缓存服务
 */
public interface UserCacheService {

    /**
     * 获取缓存的用户信息
     *
     * @param userId 用户ID
     * @return 用户信息
     */
    User getCachedUser(Long userId);

    /**
     * 缓存用户信息
     *
     * @param user 用户信息
     */
    void cacheUser(User user);

    /**
     * 删除用户缓存
     *
     * @param userId 用户ID
     */
    void evictUser(Long userId);

    /**
     * 获取最新的用户信息（先查缓存，缓存不存在则查数据库并缓存）
     *
     * @param userId 用户ID
     * @return 用户信息
     */
    User getLatestUser(Long userId);
}
